#include "PreCompiled.h"
#include "DocumentObject.h"
#include "Document_App.h"
// #include "EntityProperty.h"
// #include "EntityTopProperty.h"
// #include "EntityMaterialProperty.h"
// #include "EntityTextureProperty.h"
// void EntityTextureProperty::addEntityProperty(DocumentObject* obj)
// {
// 
// }
// void EntityMaterialProperty::addEntityProperty(DocumentObject* obj)
// {
// 
// }
// void EntityTopProperty::addEntityProperty(DocumentObject* obj)
// {
// 
// }
//--------------------------------------------
PROPERTY_SOURCE(App::DocumentObject, App::PropertyContainer)

using namespace App;
DocumentObject::DocumentObject(void)
{

}

DocumentObject::~DocumentObject(void)
{
}
void DocumentObject::addEntityProperty()
{
   

// 	EntityProperty* pro = new EntityProperty(name());
// 
// 	EntityProperty* tex01 = new EntityTextureProperty("tex01");
// 	EntityProperty* tex02 = new EntityTextureProperty("tex02");
// 	EntityProperty* tex03 = new EntityTextureProperty("tex03");
// 	EntityProperty* tex04 = new EntityTextureProperty("tex04");
// 
// 	EntityProperty* mat01 = new EntityMaterialProperty("mat01");
// 	mat01->addProperty(tex01);mat01->addProperty(tex02);
// 	EntityProperty* mat02 = new EntityMaterialProperty("mat02");
// 	mat02->addProperty(tex03);mat02->addProperty(tex04);
// 
// 	EntityProperty* top = new EntityTopProperty("top");
//  	top->addProperty(mat01); top->addProperty(mat02);
// 
// 	EntityProperty* downtex01 = new EntityTextureProperty("downtex01");
// 	EntityProperty* downtex02 = new EntityTextureProperty("downtex02");
// 	EntityProperty* downtex03 = new EntityTextureProperty("downtex03");
// 	EntityProperty* downtex04 = new EntityTextureProperty("downtex04");
// 
// 	EntityProperty* downmat01 = new EntityMaterialProperty("downmat01");
// 	downmat01->addProperty(downtex01);downmat01->addProperty(downtex02);
// 	EntityProperty* downmat02 = new EntityMaterialProperty("downmat02");
// 	downmat02->addProperty(downtex03);downmat02->addProperty(downtex04);
// 
// 
// 	EntityProperty* down = new EntityTopProperty("down");
// 	down->addProperty(downmat01); down->addProperty(downmat02);
// 	
// 
// 	pro->addProperty(top);pro->addProperty(down);
// 	
// 	attachProperty(pro);

}

int DocumentObject::_setAttribute(const char* propName,const QVariant& value)
{
    int r = setCustomAttribute(propName,value);
	if(r == 1)return 0;

	return PropertyContainer::_setAttribute(propName,value);
}
int DocumentObject::setCustomAttribute(const char* propName,const QVariant& value)
{
   return 0;
}
void DocumentObject::setEntityProperty()
{
	
}

const char *DocumentObject::getNameInDocument(void) const
{
   return "";
}
/// gets the document in which this Object is handled
Document_App *DocumentObject::getDocument(void) const
{
    return NULL;
}
void DocumentObject::setDocument(Document_App* pDocument)
{
	_pDocument = pDocument;
}